package com.gitee.dupe.authority.extend;


import com.gitee.dupe.authority.entity.User;

/**
 * @author LYH
 */
public interface AuthorityCustomOperate {

    /**
     * 用户保存前
     *
     * @param user
     */
    default void userPreSave(User user) {

    }

    /**
     * 用户更新前
     *
     * @param user
     */
    default void userPreUpdate(User user) {

    }

    /**
     * 用户邮箱唯一
     *
     * @return
     */
    default boolean userEmailUnique() {
        return true;
    }

    /**
     * 用户手机号唯一
     *
     * @return
     */
    default boolean userMobileUnique() {
        return true;
    }

    /**
     * 角色保存时一起保存权限
     *
     * @return
     */
    default boolean roleSaveUpdateWithResource() {
        return false;
    }

    /**
     * 请求资源时携带父级信息
     *
     * @return
     */
    default boolean resourceQueryWithParent() {
        return false;
    }
}
